버킷플레이스 피드백 분석2, 3, 5
InfiniteScroll은 재활용 할 수 없도록 구현되어 있습니다.
각종 Hook
, Event
, Component
등들을 모두 기능별로 나누고 하나의 함수는 단 하나의 기능만 사용하게 하여 재사용할 수 있도록 했다고 생각했지만, 해당 이벤트를 담당하는 훅은 그렇지 않았던것 같다.
코드 내용을 공개하는것이 불가능하기 떄문에 대충 보면
- 실행되는 이벤트 선언
- 이벤트를 부여하고 조건에 따라 제거하는 훅
-
스크롤 이벤트 에 따른
throttling
특정 변수값의
boolean
을 막고 풀고를 통해 해왔는데,lodash
에서 해당 api를 제공한다고 함..
생각해보면 해당 훅에서 필요한것은 두번째 것 뿐이다.
진행되는 이벤트는 변수를 통해서 받아야 다양한곳에서 재활용 가능하며, 데이터패칭을 막는 throttling
또한, 이 컴포넌트에서만 사용되므로 빼는것이 좋을듯 하다.
사진 컴포넌트 키에 index를 사용하고 있습니다. Index 보다는 사진 아이디를 사용하는 것이 더 나은 방법입니다.
React
로 컴포넌트를 반복적으로 생성할 때, key
라는 속성을 꼭 지정해주어야 한다.
나는 지금까지 이 속성에 그냥 .map
api에서 순차적으로 제공하는 index
를 부여해왔는데, 해당 값 에대한 고유한 값을 부여하는것이 좋다고 한다.
뭐 이름이라던지, 아이디라던지..
시맨틱 마크업으로 작성되어 있지 않습니다.
시맨틱 마크업을 전혀 사용하지 않고 있었다. 사실상 div
와 다를게 없다는 이유로 그냥 안써왔는데, 멀리서 봤을 때 가독성이 좋고, 해당 컴포넌트가 대략적으로 어떤 역할을 하는지 한번에 알 수 있기 때문에 꼭 사용해야하는것 같다.
앞으로 시맨틱 태그를 필수적으로 사용해야 할 듯..